package com.burns.rbac.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.burns.rbac.commons.R;
import com.burns.rbac.entity.Emp;
import com.burns.rbac.service.IEmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/emp")
public class EmpController {

    @Autowired
    private IEmpService empService;

//    @PostMapping("/page")
//    public R page(@RequestBody Page<Emp> page){
//        return R.ok(empService.page(page));
//    }

    /**
     * 自定义分页功能，解决单表查询的上级领导和部门为id，需要多表联查获取上级领导和部门的中文名
     * @param page
     * @return
     */
    @PostMapping("/page")
    public R page(@RequestBody Page<Emp> page){
        return R.ok(empService.empPage(page));
    }

    @GetMapping("/list")
    public R list(){
        return R.ok(empService.list());
    }

    @PostMapping("/save")
    public R save(@RequestBody Emp emp){
//        int i = 10/emp.getMqr();
        return R.write(empService.saveOrUpdate(emp));
    }

//    @PostMapping("/update")
//    public R update(@RequestBody Emp emp){
//        return R.write(empService.updateById(emp));
//    }


    @GetMapping("/info/{empno}")
    public R info(@PathVariable Integer empno){
        return R.ok(empService.getById(empno));
    }

    @DeleteMapping("/remove/{empno}")
    public R remove(@PathVariable Integer empno){
        return R.write(empService.removeById(empno));
    }



}
